Fix the icon-effect-missing reftest
authorMatthias Clasen <mclasen@redhat.com>
Tue, 4 May 2021 20:21:37 +0000 (16:21 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 4 May 2021 20:21:37 +0000 (16:21 -0400)
This was comparing the included image-missing icon
with the one in the current icontheme on the test
system. Works fine as long as we don't change
the icons (which we just did). To avoid this, set
the icontheme to hicolor for this test, which does
not have the image-missing icon, so we end up getting
the builtin icon for both ui files.

testsuite/reftests/icon-effect-missing.ref.ui
testsuite/reftests/icon-theme-hicolor.c [new file with mode: 0644]
testsuite/reftests/meson.build

index 827aaa9dcbd61beb9e92317f93a8e4a7e242253e..ea916ba8a6cc96288b4aa8b9d1e7214af120c4cb 100644 (file)
@@ -2,6 +2,7 @@
 <interface>
   <object class="GtkWindow" id="window1">
     <property name="decorated">0</property>
+    <signal name="map" handler="reftest:set_icon_theme_hicolor" swapped="no"/>
     <child>
       <object class="GtkBox" id="box1">
         <child>
diff --git a/testsuite/reftests/icon-theme-hicolor.c b/testsuite/reftests/icon-theme-hicolor.c
new file mode 100644 (file)
index 0000000..3934fd8
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2021 Red Hat, Inc
+ *
+ * Author:
+ *      Matthias Clasen <mclasen@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+
+
+G_MODULE_EXPORT void
+set_icon_theme_hicolor (void)
+{
+  GtkSettings *settings;
+
+  g_test_message ("Attention: setting icon-theme to hicolor");
+
+  settings = gtk_settings_get_for_display (gdk_display_get_default ());
+  g_object_set (settings, "gtk-icon-theme-name", "hicolor", NULL);
+}
index f9b1f97eba783fd27c24404aef9981af4ffc4d98..a8ef4b48bc63656ea03373ee566bf3c90ec5a6df 100644 (file)
@@ -23,6 +23,7 @@ libreftest = library('reftest',
     'textview-border-windows.c',
     'textview-tags.c',
     'animation-direction.c',
+    'icon-theme-hicolor.c',
   ],
   link_with: libgtkreftestprivate,
   c_args: reftest_cflags,